Repository navigation
[leancode_force_update] Upgrade in_app_update to ^5.0.0 - #562
Merged
Merged
Conversation
`in_app_update` 5.0.0 was the only dependency holding the package back from pub.dev's "All of the package dependencies are supported in the latest version" check, costing 10 points. 5.0.0 introduces no Dart API changes — it only drops the plugin's own Kotlin Gradle Plugin application/classpath in favour of Flutter's built-in Kotlin, and in turn requires Flutter 3.44 / Dart 3.12. Raise the package's environment constraints to match, and bump the test workflow's minimum Flutter version accordingly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qFnig238knodtGNYgz7cK
…mple Raising the example's SDK floor to 3.12 also raises its language version, which makes `prefer_initializing_formals` fire on the old `required Foo foo` + `_foo = foo` workaround: since Dart 3.12 a named initializing formal `this._foo` is passed by callers as `foo`, so the workaround is no longer needed. Applied via `dart fix`; the call sites are unchanged. Also regenerates the example lockfile via `flutter pub get` (it was stale on master — still pinning leancode_contracts 0.9.0 and leancode_force_update 1.0.3-alpha). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qFnig238knodtGNYgz7cK
Komoszek
approved these changes
Aug 10, 2026
RobertOdrowaz
approved these changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Recovers the 10 points lost on pub.dev's Support up-to-date dependencies → All of the package dependencies are supported in the latest version check.
Cause
in_app_updatewas the only dependency behind. Per the live pana report:in_app_update^4.2.3Every other dependency already resolved to its latest version, so this one constraint accounted for the whole deduction.
Changes
in_app_update5.0.0 has no Dart API changes — its changelog is only "migrate to Flutter's built-in Kotlin" (the plugin no longer applies the Kotlin Gradle Plugin or declares its classpath, and uses thekotlin { compilerOptions }DSL). Everythingforce_update_guard.dartuses —checkForUpdate,startFlexibleUpdate,completeFlexibleUpdate,performImmediateUpdate,AppUpdateInfo.immediateUpdateAllowed— is unchanged, so the package's own source needed no edits.It does require Dart
^3.12.0/ Flutter>=3.44.0, so the environment constraints move up with it:pubspec.yaml:in_app_update: ^5.0.0,sdk: '>=3.12.0 <4.0.0',flutter: ">=3.44.0", version →1.0.5-alphaleancode_force_update-test.yml: min-version matrix entry3.38.x→3.44.x(the publish workflow already pinned Dart 3.12 / Flutter 3.44.x and needed nothing)example/: SDK floor bumped,pubspec.lockregeneratedExample: private initializing formals
Raising the example's SDK floor also raises its language version, which made
prefer_initializing_formalsstart firing on the old workaround idiom:Since Dart 3.12 a named initializing formal
this._foois passed by callers asfoo, so the workaround is redundant and the lint flags it. Fixed viadart fix --apply(4 fixes across 3 files); call sites are unchanged. Without this, the bumped CI matrix would have gone red.The regenerated
example/pubspec.lockalso picks up drift that was already stale onmaster— it still pinnedleancode_contracts 0.9.0andleancode_force_update 1.0.3-alpha.Verification
Run locally on Flutter 3.44.0 / Dart 3.12.0 — deliberately the exact floor the pubspec now declares, rather than
3.44.x:flutter analyze→ no issuesflutter test→ 8/8 passingflutter pub publish --dry-run→ clean (only the standard "not an incremental update" hint that every-alpharelease in this package triggers)pana→ 160/160, with10/10 points: All of the package dependencies are supported in the latest versionOut of scope
The example's Android toolchain is stale and untested here —
android/build.gradlepins Kotlin 1.7.10 / AGP 7.3.0 with Gradle 7.5 in the legacyapply pluginlayout. That was already incompatible with the Flutter floor this package declared before this PR, and nothing in CI builds the example APK, so modernizing it is left as separate work.Generated by Claude Code